import { Plugin } from 'vite';
// import { resolve } from 'path';

export function excludeAppsPlugin(): Plugin {
  return {
    name: 'exclude-apps-plugin',
    /**
     * 对给定的源代码进行转换处理
     *
     * @param src 源代码内容
     * @param id 源代码文件的唯一标识符（通常是文件路径）
     * @returns 转换后的代码内容，如果文件在排除目录中则返回空字符串
     * @throws 如果选择抛出错误，则会抛出异常以阻止文件被处理（可选）
     */
    transform(id) {
      // 检查文件路径是否包含要排除的目录
      if (id.includes('src/apps')) {
        // 返回空内容或抛出错误以阻止文件被处理
        // 注意：返回空内容可能不是最佳做法，因为它可能仍然会包含在最终的包中
        // 更好的做法可能是通过其他方式（如修改 Rollup 的输入配置）来排除文件
        return '';
        // 或者抛出错误以停止处理（但这会中断构建过程）
        // throw new Error(`File ${id} is in the excluded apps directory.`);
      }
    }
  };
}